1. Wofür steht NTP?

NTP steht für Network Time Protocol - also Netzwerk-Zeitprotokoll.

Es ist ein Protokoll zur Synchronisation der Systemzeit zwischen Rechnern über ein Netzwerk oder das Internet.

NTP sorgt dafür, dass alle beteiligten Systeme möglichst exakt die gleiche Uhrzeit verwenden - idealerweise bis in den Millisekundenbereich.

2. Welche Besonderheiten muss ein Zeitprotokoll berücksichtigen?

Zeit ist im Netzwerk kein einfacher Wert. Es gibt mehrere technische Herausforderungen:

1. Latenz (Verzögerung)

Ein Paket braucht Zeit vom Client zum Server.
Wenn ein Zeitserver sagt: "Es ist 12:00:00", kommt diese Information nicht exakt zu diesem Zeitpunkt an.

Das Protokoll muss daher:

  • Hin- und Rücklaufzeiten messen
  • Verzögerungen berechnen
  • asymmetrische Laufzeiten berücksichtigen

2. Jitter

Die Netzwerkverzögerung ist nicht konstant.
Sie schwankt. Diese Schwankung nennt man Jitter.

NTP muss daher:

  • mehrere Zeitabfragen durchführen
  • Mittelwerte bilden
  • Ausreißer verwerfen

3. Drift (Uhrenabweichung)

Jede Hardware-Uhr driftet.
Selbst hochwertige Quarze weichen über Zeit leicht ab.

NTP musst:

  • nicht nur einmalig korrigieren
  • sondern kontinuierlich nachregeln
  • die lokale Uhr langsam "ziehen" (slew), statt abrupt zu springen

4. Hierarisches System (Stratum)

NTP arbeitet mit sogenannten Stratum-Leveln:

  • Stratum 0 ⟶ Atomuhren / GPS
  • Stratum 1 ⟶ direkt mit Stratum 0 verbunden
  • Stratum 2 ⟶ synchronisiert mit Stratum 1
  • usw.

Je niedriger das Stratum, desto näher an der Referenzzeit.

Das verhindert Zeit-Chaos im Internet.

3. Warum ist Zeitsynchronisation technisch notwendig?

1. Active Directory & Kerberos

Kerberos-Authentifizierung toleriert nur geringe Zeitabweichungen (standardmäßig ±5 Minuten).

Wenn Client und Domaincontroller zu stark abweichen:

⟶ Anmeldung schlägt fehl.


2. Log-Dateien

Ohne synchronisierte Zeit:

  • Der Serverlog sagt: 10:00
  • Die Firewall sagt 09:57
  • Der Client sagt: 10:03

Fehleranalyse wird unmöglich.


3. Zertifikate

TLS-Zertifikate haben:

  • gültig ab
  • gültig bis

Falsche Systemzeit ⟶ Zertifikat ungültig.


4. Replikation & Datenbanken

Cluster-Systeme benötigen konsistente Zeitstempel.


Kurz gesagt:
Zeit ist eine sicherheitskritische Infrastrukturkomponente im Netzwerk.

4. Welchen Port nutzt NTP?

NTP verwendet:

  • UDP Port 123

Wichtig:

NTP nutzt UDP, nicht TCP.

Warum UDP?

  • geringe Latenz
  • geringer Overhead
  • Zeitabgleich benötigt keine verbindungsorientierte Kommunikation

5. Grundlegende Funktionsweise von NTP

Der Client sendet eine Anfrage an einem Zeitserver.

Der Server antwortet mit:

  • Zeitstempel beim Empfang
  • Zeitstempel beim Senden

Der Client berechnet daraus:

  • Laufzeit
  • Zeitdifferenz
  • Offset

Anschließend wird die lokale Uhr angepasst.

Das geschieht nicht abrupt, sondern meist durch leichtes Beschleunigen oder Verlangsamen der Systemzeit.

-- Praktischer Teil - Windows --

6. Aktuelle Zeitquelle und Abweichung anzeigen

Öffne eine Eingabeaufforderung als Administrator.

Aktuelle Zeitquelle anzeigen:

Code
w32tm /query /source

Das zeigt, von welchen Server dein Rechner aktuell die Zeit bezieht.


Status anzeigen (inkl. Abweichung):

Code
w32tm /query /status

Wichtige Felder:

  • Source
  • Stratum
  • Last Successful Sync Time
  • Offset

Der Offset zeigt, wie stark dein System aktuell abweicht.

7. Zeitsynchronisation unter Windows Konfigurieren

Windows verwendet den Dienst:

Windows-Zeitgeber (w32time)


Methode 1 - Grafisch

Systemsteuerung ⟶ Datum und Uhrzeit ⟶ Internet ⟶ Einstellungen ändern

Dort kann man:

  • NTP-Server festlegen (z. B. time.windows.com)
  • Synchronisierung aktivieren

Methode 2 - Per Kommandozeile

Zeitserver setzen:

w32tm /config /manualpeerlist:"pool.ntp.org" /syncformflags:manual /update

Dienst neu starten:

net stop w32time
net start w32time

Sofort synchronisieren:

w32tm /resync

8. Zeit vom Domänencontroller beziehen

In einer Active Directory Umgebung gilt:

  • Clients synchronisieren mit dem Domaincontroller
  • Der PDC-Emulator synchronisiert mit einer externen Zeitquelle

Das ist ein hierarchisches Modell.

Auf einem Domainclient:

Code

w32tm /query /source

sollte als Quelle erscheinen:

Domänencontroller

9. Zeitsync-Service prüfen

Dienststatus anzeigen:

Code

services.msc

Dienst: Windows-Zeitgeber
Startup-Typ sollte auf: "Automatisch" stehen.